package com.ruoyi.asset.service;

import com.ruoyi.common.core.domain.AjaxResult;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Map;

/**
 * 文件操作服务
 *
 * @author zy
 */
public interface IMultipartFileService {

    /**
     * 上传文件并提供文件相关参数(下单前)
     *
     * @param file
     * @param req
     * @return
     */
    AjaxResult uploadFile(MultipartFile file, Map req);

    /**
     * 上传文件并提供文件相关参数(下单后)
     *
     * @param file
     * @param req
     * @return
     */
    AjaxResult uploadFileForOrder(MultipartFile file, Map req);

    /**
     * 通过文件id下载文件
     *
     * @param fileId
     * @param response
     */
    void downloadFile(Long fileId, HttpServletResponse response) throws IOException;

    /**
     * 通过文件id删除文件
     *
     * @param fileId
     * @return
     */
    AjaxResult removeFile(Long fileId);
}
